<?php
class MunicipiosUsersController extends AppController {

	var $name = 'MunicipiosUsers';
	var $uses = array('MunicipiosUser','User');
	var $helpers=array('Access');
	
	function index() {
		$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		$this->MunicipiosUser->recursive = 0;
		$this->set('municipiosUsers', $this->paginate());
	}

	function view($id = null) {
		$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		if (!$id) {
			$this->Session->setFlash(__('Invalid municipios user', true));
			$this->redirect(array('action' => 'index'));
		}
		$this->set('municipiosUser', $this->MunicipiosUser->read(null, $id));
	}

	function add() {
		$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		if (!empty($this->data)) {
			$this->MunicipiosUser->create();
			if ($this->MunicipiosUser->save($this->data)) {
				$this->Session->setFlash(__('The municipios user has been saved', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('The municipios user could not be saved. Please, try again.', true));
			}
		}
		$users = $this->MunicipiosUser->User->find('list');
		$municipios = $this->MunicipiosUser->Municipio->find('list');
		$this->set(compact('users', 'municipios'));
	}

	function edit($id = null) {
		$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Invalid municipios user', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {
			if ($this->MunicipiosUser->save($this->data)) {
				$this->Session->setFlash(__('Asignaci&oacute;n de municipioo a usuario Guardada', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('Asignaci&oacute;n de municipioo a usuario no se guardo.', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->MunicipiosUser->read(null, $id);
		}
		$users = $this->MunicipiosUser->User->find('list');
		$municipios = $this->MunicipiosUser->Municipio->find('list');
		$this->set(compact('users', 'municipios'));
	}

	function delete($id = null) {
		$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		if (!$id) {
			$this->Session->setFlash(__('Invalid id for municipios user', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->MunicipiosUser->delete($id)) {
			$this->Session->setFlash(__('Municipios user deleted', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('Municipios user was not deleted', true));
		$this->redirect(array('action' => 'index'));
	}
	
	function municipios_user_asignacion(){
		$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		$users = $this->paginate('User');
		$this->set(compact('users'));
	}
	
	function asignacion($usuario=null){
		$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
	  	if(!empty($this->data)){
	  		$datos=$this->data;
	  		$municipios;
		  	if(is_array($datos['MunicipiosUser']['municipio_id'])) {
					foreach ($datos['MunicipiosUser']['municipio_id'] as $municipio){
						$municipios[]=$municipio;						
					}
		  			for ($i=0; $i<count($municipios);$i++ ){
	   					$registro['MunicipiosUser']=array('municipio_id'=>$municipios[$i],'user_id'=>$datos['MunicipiosUser']['x']);	   			
			   			$this->MunicipiosUser->create();
						$this->MunicipiosUser->save($registro);	
						$guardado=true;
			   		}			   		
			}		
	  		if ($guardado==true) {
				$this->Session->setFlash(__('Asignaci&oacute;n Guardada.', true));
				$this->redirect(array('controller'=>'municipios_users','action'=>'municipios_user_asignacion'));
			} else {
				$this->Session->setFlash(__('La Asignaci&oacute;n no se ha Guardado.', true));
			}	 		  		
	  }
	  $municipios = $this->MunicipiosUser->Municipio->find('list',array('fields'=>array('Municipio.id','Municipio.nombre')));
	  $datos_usuario = $this->MunicipiosUser->User->find('list',array('fields'=>array('User.id','User.nombre')));
	  //die(var_dump($datos_usuario));
	  $this->set(compact('municipios','usuario','datos_usuario')); 
  }
  
	  function editar_asignacion($usuario=null){
	  	$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		if (!$usuario && empty($this->data)) {
			$this->Session->setFlash(__('Usuario Invalido', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {
			$form = $this->data;	
			if(is_array($form['MunicipiosUser']['municipio_id'])) {
				//Municipios seleccionados 
				$indice=0;
				$municipios_seleccionados;
								
				foreach ($form['MunicipiosUser']['municipio_id'] as $municipio){
					$municipios_seleccionados[$indice]=$municipio;
					$indice++;	
				}					
				
				$mio = $this->MunicipiosUser->find('list',array('conditions'=>array('MunicipiosUser.user_id'=>$form['MunicipiosUser']['datos_usuario'])));
				
				foreach ($mio as $m):
					$this->MunicipiosUser->delete($m);
				endforeach;
						
				
			
				for($i=0; $i<count($municipios_seleccionados); $i++){
						$registro['MunicipiosUser']=array('municipio_id'=>$municipios_seleccionados[$i],'user_id'=>$form['MunicipiosUser']['datos_usuario']);	   					
						$this->MunicipiosUser->create();
						$this->MunicipiosUser->save($registro);	
				}
				$this->Session->setFlash(__('Asignaci&oacute;n Realizada', true));
				$this->redirect(array('controller'=>'municipios_users','action'=>'municipios_user_asignacion'));			
				
			}else{

				$this->Session->setFlash(__('No se seleccion&oacute; ningun municipio.', true));

			}
			
		}
		if (empty($this->data)) {
			$this->data = $this->MunicipiosUser->read(null, $usuario);	
		}
		$municipios = $this->MunicipiosUser->Municipio->find('list', array('fields'=>array('Municipio.id', 'Municipio.nombre'),'order'=>array('Municipio.nombre'=>'ASC')));
		$municipios_activos = $this->MunicipiosUser->find('list', array('fields'=>array('MunicipiosUser.municipio_id'),'conditions'=>array('MunicipiosUser.user_id'=>$usuario)));
		$usuarios = $this->MunicipiosUser->User->find('list', array('fields'=>array('User.id', 'User.nombre'),'order'=>array('User.nombre'=>'ASC')));		
		$user_id = $usuario;
		$this->set(compact('usuarios', 'municipios', 'user_id', 'municipios_activos', 'usuario'));		
	}	  
}
